package org.apache.commons.compress.archivers.sevenz; class AES256SHA256Decoder$1 { void a() { int a;
a=0;// .class Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;
a=0;// .super Ljava/io/InputStream;
a=0;// .source "AES256SHA256Decoder.java"
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field final synthetic a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;// .field final synthetic b:[B
a=0;// 
a=0;// .field final synthetic c:Ljava/io/InputStream;
a=0;// 
a=0;// .field private d:Z
a=0;// 
a=0;// .field private e:Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method private a()Ljavax/crypto/CipherInputStream;
a=0;//     .locals 13
a=0;// 
a=0;//     .prologue
a=0;//     const-wide/16 v11, 0x1
a=0;// 
a=0;//     #v11=(LongLo);v12=(LongHi);
a=0;//     const/4 v6, 0x2
a=0;// 
a=0;//     #v6=(PosByte);
a=0;//     const/4 v3, 0x1
a=0;// 
a=0;//     #v3=(One);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     .line 39
a=0;//     #v1=(Null);
a=0;//     iget-boolean v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->d:Z
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_0
a=0;// 
a=0;//     .line 40
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->e:Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;//     .line 97
a=0;//     :goto_0
a=0;//     #v0=(Reference,Ljavax/crypto/CipherInputStream;);v1=(Reference,Ljavax/crypto/CipherInputStream;);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v6=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);
a=0;//     return-object v0
a=0;// 
a=0;//     .line 42
a=0;//     :cond_0
a=0;//     #v0=(Boolean);v1=(Null);v2=(Uninit);v3=(One);v4=(Uninit);v5=(Uninit);v6=(PosByte);v7=(Uninit);v8=(Uninit);v9=(Uninit);v10=(Uninit);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/sevenz/Coder;);
a=0;//     iget-object v0, v0, Lorg/apache/commons/compress/archivers/sevenz/Coder;->a:[B
a=0;// 
a=0;//     aget-byte v0, v0, v1
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     and-int/lit16 v0, v0, 0xff
a=0;// 
a=0;//     .line 43
a=0;//     #v0=(Integer);
a=0;//     and-int/lit8 v4, v0, 0x3f
a=0;// 
a=0;//     .line 44
a=0;//     #v4=(Integer);
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;//     #v2=(Reference,Lorg/apache/commons/compress/archivers/sevenz/Coder;);
a=0;//     iget-object v2, v2, Lorg/apache/commons/compress/archivers/sevenz/Coder;->a:[B
a=0;// 
a=0;//     aget-byte v2, v2, v3
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     and-int/lit16 v2, v2, 0xff
a=0;// 
a=0;//     .line 45
a=0;//     #v2=(Integer);
a=0;//     shr-int/lit8 v3, v0, 0x6
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     and-int/lit8 v3, v3, 0x1
a=0;// 
a=0;//     and-int/lit8 v5, v2, 0xf
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     add-int/2addr v3, v5
a=0;// 
a=0;//     .line 46
a=0;//     shr-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     and-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     shr-int/lit8 v2, v2, 0x4
a=0;// 
a=0;//     add-int/2addr v2, v0
a=0;// 
a=0;//     .line 47
a=0;//     add-int/lit8 v0, v2, 0x2
a=0;// 
a=0;//     add-int/2addr v0, v3
a=0;// 
a=0;//     iget-object v5, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;//     #v5=(Reference,Lorg/apache/commons/compress/archivers/sevenz/Coder;);
a=0;//     iget-object v5, v5, Lorg/apache/commons/compress/archivers/sevenz/Coder;->a:[B
a=0;// 
a=0;//     array-length v5, v5
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     if-le v0, v5, :cond_1
a=0;// 
a=0;//     .line 48
a=0;//     new-instance v0, Ljava/io/IOException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/io/IOException;);
a=0;//     const-string v1, "Salt size + IV size too long"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/IOException;);
a=0;//     throw v0
a=0;// 
a=0;//     .line 50
a=0;//     :cond_1
a=0;//     #v0=(Integer);v1=(Null);
a=0;//     new-array v5, v2, [B
a=0;// 
a=0;//     .line 51
a=0;//     #v5=(Reference,[B);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/sevenz/Coder;);
a=0;//     iget-object v0, v0, Lorg/apache/commons/compress/archivers/sevenz/Coder;->a:[B
a=0;// 
a=0;//     invoke-static {v0, v6, v5, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     .line 52
a=0;//     const/16 v0, 0x10
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     new-array v6, v0, [B
a=0;// 
a=0;//     .line 53
a=0;//     #v6=(Reference,[B);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a:Lorg/apache/commons/compress/archivers/sevenz/Coder;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/sevenz/Coder;);
a=0;//     iget-object v0, v0, Lorg/apache/commons/compress/archivers/sevenz/Coder;->a:[B
a=0;// 
a=0;//     add-int/lit8 v7, v2, 0x2
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     invoke-static {v0, v7, v6, v1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     .line 55
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->b:[B
a=0;// 
a=0;//     if-nez v0, :cond_2
a=0;// 
a=0;//     .line 56
a=0;//     new-instance v0, Ljava/io/IOException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/io/IOException;);
a=0;//     const-string v1, "Cannot read encrypted files without a password"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/IOException;);
a=0;//     throw v0
a=0;// 
a=0;//     .line 59
a=0;//     :cond_2
a=0;//     #v1=(Null);
a=0;//     const/16 v0, 0x3f
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     if-ne v4, v0, :cond_3
a=0;// 
a=0;//     .line 60
a=0;//     const/16 v0, 0x20
a=0;// 
a=0;//     new-array v0, v0, [B
a=0;// 
a=0;//     .line 61
a=0;//     #v0=(Reference,[B);
a=0;//     invoke-static {v5, v1, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     .line 62
a=0;//     iget-object v3, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->b:[B
a=0;// 
a=0;//     #v3=(Reference,[B);
a=0;//     iget-object v4, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->b:[B
a=0;// 
a=0;//     #v4=(Reference,[B);
a=0;//     array-length v4, v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     array-length v5, v0
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     sub-int/2addr v5, v2
a=0;// 
a=0;//     invoke-static {v4, v5}, Ljava/lang/Math;->min(II)I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     invoke-static {v3, v1, v0, v2, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     .line 91
a=0;//     :goto_1
a=0;//     #v2=(Conflicted);v3=(Conflicted);v5=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);
a=0;//     new-instance v1, Ljavax/crypto/spec/SecretKeySpec;
a=0;// 
a=0;//     #v1=(UninitRef,Ljavax/crypto/spec/SecretKeySpec;);
a=0;//     const-string v2, "AES"
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v0, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
a=0;// 
a=0;//     .line 93
a=0;//     :try_start_0
a=0;//     #v1=(Reference,Ljavax/crypto/spec/SecretKeySpec;);
a=0;//     const-string v0, "AES/CBC/NoPadding"
a=0;// 
a=0;//     invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     .line 94
a=0;//     const/4 v2, 0x2
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     new-instance v3, Ljavax/crypto/spec/IvParameterSpec;
a=0;// 
a=0;//     #v3=(UninitRef,Ljavax/crypto/spec/IvParameterSpec;);
a=0;//     invoke-direct {v3, v6}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
a=0;// 
a=0;//     #v3=(Reference,Ljavax/crypto/spec/IvParameterSpec;);
a=0;//     invoke-virtual {v0, v2, v1, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
a=0;// 
a=0;//     .line 95
a=0;//     new-instance v1, Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;//     #v1=(UninitRef,Ljavax/crypto/CipherInputStream;);
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->c:Ljava/io/InputStream;
a=0;// 
a=0;//     #v2=(Reference,Ljava/io/InputStream;);
a=0;//     invoke-direct {v1, v2, v0}, Ljavax/crypto/CipherInputStream;-><init>(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
a=0;// 
a=0;//     #v1=(Reference,Ljavax/crypto/CipherInputStream;);
a=0;//     iput-object v1, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->e:Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;//     .line 96
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     iput-boolean v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->d:Z
a=0;// 
a=0;//     .line 97
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->e:Ljavax/crypto/CipherInputStream;
a=0;//     :try_end_0
a=0;//     .catch Ljava/security/GeneralSecurityException; {:try_start_0 .. :try_end_0} :catch_1
a=0;// 
a=0;//     #v0=(Reference,Ljavax/crypto/CipherInputStream;);
a=0;//     goto/16 :goto_0
a=0;// 
a=0;//     .line 67
a=0;//     :cond_3
a=0;//     :try_start_1
a=0;//     #v0=(PosByte);v1=(Null);v2=(Integer);v3=(Integer);v5=(Reference,[B);v7=(Integer);v8=(Uninit);v9=(Uninit);v10=(Uninit);
a=0;//     const-string v0, "SHA-256"
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/String;);
a=0;//     invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
a=0;//     :try_end_1
a=0;//     .catch Ljava/security/NoSuchAlgorithmException; {:try_start_1 .. :try_end_1} :catch_0
a=0;// 
a=0;//     move-result-object v7
a=0;// 
a=0;//     .line 76
a=0;//     #v7=(Reference,Ljava/security/MessageDigest;);
a=0;//     const/16 v0, 0x8
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     new-array v8, v0, [B
a=0;// 
a=0;//     .line 77
a=0;//     #v8=(Reference,[B);
a=0;//     const-wide/16 v2, 0x0
a=0;// 
a=0;//     :goto_2
a=0;//     #v0=(Integer);v2=(LongLo);v3=(LongHi);v9=(Conflicted);v10=(Conflicted);
a=0;//     shl-long v9, v11, v4
a=0;// 
a=0;//     #v9=(LongLo);v10=(LongHi);
a=0;//     cmp-long v0, v2, v9
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     if-gez v0, :cond_5
a=0;// 
a=0;//     .line 78
a=0;//     invoke-virtual {v7, v5}, Ljava/security/MessageDigest;->update([B)V
a=0;// 
a=0;//     .line 79
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->b:[B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     invoke-virtual {v7, v0}, Ljava/security/MessageDigest;->update([B)V
a=0;// 
a=0;//     .line 80
a=0;//     invoke-virtual {v7, v8}, Ljava/security/MessageDigest;->update([B)V
a=0;// 
a=0;//     move v0, v1
a=0;// 
a=0;//     .line 81
a=0;//     :goto_3
a=0;//     #v0=(Integer);v9=(Conflicted);
a=0;//     array-length v9, v8
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     if-ge v0, v9, :cond_4
a=0;// 
a=0;//     .line 82
a=0;//     aget-byte v9, v8, v0
a=0;// 
a=0;//     #v9=(Byte);
a=0;//     add-int/lit8 v9, v9, 0x1
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     int-to-byte v9, v9
a=0;// 
a=0;//     #v9=(Byte);
a=0;//     aput-byte v9, v8, v0
a=0;// 
a=0;//     .line 83
a=0;//     aget-byte v9, v8, v0
a=0;// 
a=0;//     if-nez v9, :cond_4
a=0;// 
a=0;//     .line 84
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     .line 68
a=0;//     :catch_0
a=0;//     #v0=(Conflicted);v2=(Integer);v3=(Integer);v7=(Integer);v8=(Uninit);v9=(Uninit);v10=(Uninit);
a=0;//     move-exception v0
a=0;// 
a=0;//     .line 69
a=0;//     #v0=(Reference,Ljava/security/NoSuchAlgorithmException;);
a=0;//     new-instance v1, Ljava/io/IOException;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/io/IOException;);
a=0;//     const-string v2, "SHA-256 is unsupported by your Java implementation"
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     .line 70
a=0;//     #v1=(Reference,Ljava/io/IOException;);
a=0;//     invoke-virtual {v1, v0}, Ljava/io/IOException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
a=0;// 
a=0;//     .line 71
a=0;//     throw v1
a=0;// 
a=0;//     .line 77
a=0;//     :cond_4
a=0;//     #v0=(Integer);v1=(Null);v2=(LongLo);v3=(LongHi);v7=(Reference,Ljava/security/MessageDigest;);v8=(Reference,[B);v9=(Integer);v10=(LongHi);
a=0;//     add-long/2addr v2, v11
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     .line 88
a=0;//     :cond_5
a=0;//     #v0=(Byte);v9=(LongLo);
a=0;//     invoke-virtual {v7}, Ljava/security/MessageDigest;->digest()[B
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     goto :goto_1
a=0;// 
a=0;//     .line 98
a=0;//     :catch_1
a=0;//     #v0=(Conflicted);v1=(Conflicted);v2=(Conflicted);v3=(Conflicted);v5=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);
a=0;//     move-exception v0
a=0;// 
a=0;//     .line 99
a=0;//     #v0=(Reference,Ljava/security/GeneralSecurityException;);
a=0;//     new-instance v1, Ljava/io/IOException;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/io/IOException;);
a=0;//     const-string v2, "Decryption error (do you have the JCE Unlimited Strength Jurisdiction Policy Files installed?)"
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     .line 101
a=0;//     #v1=(Reference,Ljava/io/IOException;);
a=0;//     invoke-virtual {v1, v0}, Ljava/io/IOException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
a=0;// 
a=0;//     .line 102
a=0;//     throw v1
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public close()V
a=0;//     .locals 0
a=0;// 
a=0;//     .prologue
a=0;//     .line 122
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method public read()I
a=0;//     .locals 1
a=0;// 
a=0;//     .prologue
a=0;//     .line 112
a=0;//     invoke-direct {p0}, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a()Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljavax/crypto/CipherInputStream;);
a=0;//     invoke-virtual {v0}, Ljavax/crypto/CipherInputStream;->read()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     return v0
a=0;// .end method
a=0;// 
a=0;// .method public read([BII)I
a=0;//     .locals 1
a=0;// 
a=0;//     .prologue
a=0;//     .line 117
a=0;//     invoke-direct {p0}, Lorg/apache/commons/compress/archivers/sevenz/AES256SHA256Decoder$1;->a()Ljavax/crypto/CipherInputStream;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljavax/crypto/CipherInputStream;);
a=0;//     invoke-virtual {v0, p1, p2, p3}, Ljavax/crypto/CipherInputStream;->read([BII)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     return v0
a=0;// .end method
}}
